perm filename AL.WRU[AL,HE] blob sn#566302 filedate 1981-02-22 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	Running the AL compiler and friends.
C00008 ENDMK
CāŠ—;
Running the AL compiler and friends.

The  AL parser  accepts  a command  line  syntax like  that  used by  other
standard processors on the system like SAIL and FAIL.  AL is now a standard
processor known to SNAIL.  Running  AL actually starts up the PARSER  which
when finished initiates a chain of  processes: ALC (the AL compiler), PALX,
and  ALSOAP (an unimplimented program  which will clean  up by deleting all
undesired files  and  then  optionally load  the  PDP-11).   All  of  these
processes communicate with each other via TMPCOR files.

As the AL compile time system runs,  several intermediate files are created
and destroyed.  The default extensions of these files are listed below.

    .AL		user	the ALGOL like AL source language
    .SEX	AL	s-expression version of AL source code
    .ALP (.AL0)	ALC	pseudo code
    .ALT (.AL1)	ALC	trajectory file
    .ALV (.AL2)	ALC	constants and variable definitions for pseudo code
    .ALS (.AL3)	ALC	symbol table usable by the PDP-11 runtime system
    .ALL	ALC	hybrid s-expression/real AL listing
    .LST	PALX	PDP-11 assembly code listing
    .BIN	PALX	PDP-11 binary file loaded by 11TTY
    .SAV	11TTY	PDP-11 core image

The command line syntax accepted by AL is
               <bin>, <all> ← <src1>, <src2>, . . . , <srcn>
<bin> and <all>  are optional and specify the  BIN and the ALL  file names.
The BIN file and the ALL file are produced only if specified.

Switches can be specified  after any file name.  Again  the standard syntax
applies  with  "/"  used  to  mark  the  presence  of  a single  switch  or
parentheses "()" can be placed  around a group of switches eliminating  the
necessity of using "/" before each switch.  Numeric arguments can be passed
by  placing  an optionally  signed  integer before  the switch  name.   The
switches are listed below:

	/K	inhibit the deletion of extraneous intermediate files
		(.ALP, .ALV, .ALT,)
	/S	generate a symbol file (.ALS)
	/L	generate a PALX assembly listing
	/E	load the .BIN file into the PDP-11 (not implemented)

for system debugging:

	/B	run BAIL immediately after scanning the command line
	/I	inhibit the deletion of the .SEX file
	/N	use the "new" AL compiler - ALCNEW.DMP
	/X	use the "new" AL runtime - assemble with COMP1.NEW


ADDED BY MSM ON 5/3/77

The switches may be specified within the program itself by the construct

	REQUIRE COMPILER_SWITCHES "KSLBE";

where the string contains the switches shown above.


The way errors are to be handled may be specified within the program by

	REQUIRE ERROR_MODES "LAFM";

	L	Errors will be logged in a file with extension .LOG
	A	Compilation will continue automatically after each error
		message is printed
	F	Dimensions on both sides of an assignment or in comparisons
		of quantities will not be strictly checked - system
		will assume user knows what he is doing; this has been default
		in the past.
	M	Prompt only for modifiable errors, else take standard fixup

where the string contains only the letters corresponding to the flag to be set.

The modes may be unset by putting a "-" in front of the relevant flag
in another REQUIRE ERROR_MODES statement.